EN FR
EN FR


Section: Software

ViSP: a visual servoing platform

Participants : Fabien Spindler [correspondant] , Filip Novotny, Aurélien Yol, Eric Marchand, François Chaumette.

Since 2005, we develop and release under the terms of the GPLv2 licence, ViSP, an open source library that allows fast prototyping of visual tracking and visual servoing tasks. ViSP was designed to be independent with the hardware, to be simple to use, expandable and cross-platform.

ViSP allows to design vision-based tasks for eye-in-hand and eye-to-hand visual servoing that contains the most classical visual features that are used in practice. It involves a large set of elementary positioning tasks with respect to various visual features (points, segments, straight lines, circles, spheres, cylinders, image moments, pose,...) that can be combined together, and image processing algorithms that allows tracking of visual cues (dots, segments, ellipses,...) or 3D model-based tracking of known objects. Simulation capabilities are also available. ViSP and its full functionalities are presented in Fig. 1 and described in [6] .

Figure 1. ViSP software architecture.
IMG/visp.png

This year, we continued our efforts to improve the software and documentation quality. A new version available at http://www.irisa.fr/lagadic/visp/visp.html was released in July 2012. To ease ViSP installation, we provide also precompiled ViSP SDK including pre-built ViSP library and headers.

This last release under deposit to the APP (“Agence de Protection des Programmes”) has been downloaded 887 times since its availability. It is used in research labs in France, USA, Japan, Korea, India, China, Lebanon, Italy, Spain, Portugal, Hungary, Canada. For instance, it is used as a support in a graduate course delivered at MIT, at IFMA Clermont-Ferrand and ESIR Rennes engineer schools. ViSP is now also part of “vision_visp ” ROS stack (see http://www.ros.org/wiki/vision_visp ) and ViSP 3D model-based tracker has been proposed by colleagues from Laas in Toulouse as a ROS package. This encouraged us to enhance “vision_visp ” stack by proposing new ROS packages to calibrate intrinsic and extrinsic camera parameters, and a new 3D model-based tracker with automatic initialisation and reinitialisation after tracking loss (with help of specific textured patterns on the object).